package osbsp;
/**
 * FreeListBlock
 *
 * Datenstrukturelement einer Freibereichsliste, das Adresse und Groesse eines freien Blocks angibt
 */
public class FreeListBlock implements Comparable<Object> {
	private int adress;		// Reale Startadresse des freien Blocks
	private int size;		// L�nge des freien Blocks in Byte

	/**
	 * Konstruktor
	 *
	 */	
	public FreeListBlock(int curAdr, int curSize) {
		adress = curAdr;
		size = curSize;
	}

	/**
	 * Vergleichsfunktion fuer Sortierung
	 */	

	public int compareTo(Object otherBlock) {
		// Vergleiche mit anderem FreeListBlock fuer die Sortierung
		int result;
		FreeListBlock otherFB;
		
		otherFB = (FreeListBlock) otherBlock;
		if (this.adress < otherFB.getAdress()) {
			result = -1;
		} else {
			if (this.adress == otherFB.getAdress()) {
			result = 0;
			} else {
				result = 1;
			}
		}	
		return result;
	}
	
	/**
	 * @return Adresse des freien Blocks
	 */
	public int getAdress() {
		return adress;
	}

	/**
	 * @return Groesse des Blocks
	 */
	public int getSize() {
		return size;
	}

	/**
	 * @param i Adresse zuweisen
	 */
	public void setAdress(int i) {
		adress = i;
	}

	/**
	 * @param i Groesse zuweisen
	 */
	public void setSize(int i) {
		size = i;
	}

}
